iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
1
自我挑戰組

資工系大一課程/日常筆記系列 第 14

[Day 14] 周六假日程式寫起來

  • 分享至 

  • xImage
  •  

今天來寫寫看 UVA13185: DPA Numbers I
題目簡單來說就是輸入數字並與因數總和(不含該數本身)比較
總和大於數字就是 abundant
總和等於數字就是 perfect
總和小於數字就是 deficient

#include <stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    int i;
    for(i=0;i<n;i++){
    	int num;
    	scanf("%d",&num);
    	int sum=1,max=num; //定義sum(加總)、max(需要判斷的最大值)
    	int ii;
    	for(ii=2;ii<max;ii++){
    		if(num%ii==0){ //如果是因數就...
    			if(ii == (num/ii)){
    				sum += ii;
				}
				else{
					sum += ii + (num/ii);
				}
    			max = num/ii; //重新調整最大值
			}
		}
		if(sum > num){
			printf("abundant\n");
		}
		else if(sum == num){
			printf("perfect\n");
		}
		else{
			printf("deficient\n");
		}
	}
    return 0;
}

上一篇
[Day 13] 大學生活的一些murmur
下一篇
[Day 15] 周日假日程式寫起來
系列文
資工系大一課程/日常筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言